(C) 1996 AROS - The Amiga Replacement OS


NAME
#include <graphics/gfx.h>
#include <proto/graphics.h>
LONG BltBitMap()
SYNOPSIS
struct BitMap * srcBitMap
LONG xSrc
LONG ySrc
struct BitMap * destBitMap
LONG xDest
LONG yDest
LONG xSize
LONG ySize
ULONG minterm
ULONG mask
PLANEPTR tempA

LOCATION
In GfxBase at offset 5
FUNCTION
Moves a part of a bitmap around or into another bitmaps.

INPUTS
srcBitMap
Copy from this bitmap.
xSrc, ySrc
This is the upper left corner of the area to copy.
destBitMap
Copy to this bitmap. May be the same as srcBitMap.
xDest, yDest
Upper left corner where to place the copy
xSize, ySize
The size of the area to copy
minterm
How to copy. Most useful values are 0x00C0 for a vanilla copy, 0x0030 to invert the source and then copy or 0x0050 to ignore the source and just invert the destination. If you want to calculate other values, then you must know that channel A is set, if you are inside the rectangle, channel B is the source and channel C is the destination of the rectangle. Bit ABC 0 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111 So 0x00C0 means: D is set if one is inside the rectangle (A is set) and B (the source) is set and cleared otherwise. To fill the rectangle, you would want to set D when A is set, so the value is 0x00F0.
mask
Which planes should be copied. Typically, you should set this to ~0L.
tempA
If the copy overlaps exactly to the left or right (i.e. the
non
zero, it points to enough chip accessible memory to hold a line of a source for the blit (ie. CHIP RAM). BltBitMap will allocate (and free) the needed TempA if none is provided and one is needed. Blit overlap is determined from the relation of
non
masked planes in the source and destination bit maps.
RESULT
The number of planes actually involved in the blit.

NOTES
If a special hardware is available, this function will use it.

EXAMPLE
BUGS
SEE ALSO
ClipBlit(), BltBitMapRastPort()
INTERNALS
HISTORY
14.03.1997 digulla
Two new functions
13.03.1997 digulla
Another new function